<?php
require_once 'BasicController.php';
require_once '../application/business/AuthBusiness.php';

class AuthController extends BasicController
{

	public function init()
	{
		if(isset($user) && $user != null){
			$cartBusiness = new CartBusiness();
			$this->view->shopping_count = $cartBusiness->countItems($user['idClient']);
		}
	}

	public function indexAction()
	{
		$this->_forward('login');
	}

	//ACTION PARA EFETUAR O LOGIN DO USUÁRIO
	public function loginAction()
	{
		if($_POST){// Verifica se o usuario informado existe no banco de dados

			$auth = new AuthBusiness();

			//Recupera os valores informados no form
			$formData = $this->getRequest()->getPost();
			$login = $formData['username'];
			$password = $formData['password'];

			$personData = $auth->getPersonByLogin($login);

			if($personData['status'] == 1){
				//Verifica se o usuario existe na base
				if($personData){

					if(md5($formData['password']) == $personData['password']){
						//Guarda os dados do usuario em um array
						$personDataArray = array(
									"idClient" => $personData['id_client'],
									"username" => $personData['username'],
									"name" 	=> $personData['name'],
									"email" => $personData['email'],
									"phone" => $personData['phone'],
									"user_type" => $personData['user_type']
						);
						Zend_Auth::getInstance()->getStorage()->write($personDataArray);

						if($personDataArray['user_type'] != 2){
							$this->_redirect('admin');
						}else{
							$this->_redirect('products');
						}
					}else{
						$this->view->login = $login;
						$this->view->authErrorMessage = "Senha inválida!";
						return;
					}
				}else{
					$this->view->login = $login;
					$this->view->authErrorMessage = "Usuário inválido!";
					return;
				}
			}else{
				$this->view->authErrorMessage = "Conta não confirmada!";
				return;
			}
		}
	}

	public function falhaAction()
	{}

	//ACTION PARA EFETUAR O LOGOUT DO USUARIO
	public function logoutAction()
	{
		//Limpa dados da Sess�o
		Zend_Auth::getInstance()->clearIdentity();
		//Redireciona a requisi��o para a tela de Autenticacao novamente
		$this->_redirect('/products');
	}

}

